﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace AvaProvi
{
    class clsUsuario_CD
    {
        private dsAvaluos dsAvaluo;
        private dsAvaluosTableAdapters.UsuariosTableAdapter TAUsuarios;

        public clsUsuario_CD()
        {
            dsAvaluo = new dsAvaluos();
            dsAvaluo.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            dsAvaluo.DataSetName = "dsAvaluos";

            //se le debe pasar la conección
            TAUsuarios = new dsAvaluosTableAdapters.UsuariosTableAdapter();
            TAUsuarios.ClearBeforeFill = true;
        }

        public BindingList<dsAvaluos.UsuariosRow> RecuperaUsuarios()
        {
            BindingList<dsAvaluos.UsuariosRow> blUsuarios = new BindingList<dsAvaluos.UsuariosRow>();
            this.TAUsuarios.RecuperaUsuarios(this.dsAvaluo.Usuarios);
            foreach (dsAvaluos.UsuariosRow filaUsuario in this.dsAvaluo.Usuarios)
            {
                blUsuarios.Add(filaUsuario);
            }
            return blUsuarios;
        }

        public dsAvaluos.UsuariosRow RecuperaUsuario(string Login)
        {
            TAUsuarios.RecuperaUsuario(this.dsAvaluo.Usuarios, Login);
            foreach (dsAvaluos.UsuariosRow filaUsuario in this.dsAvaluo.Usuarios)
            {
                return filaUsuario;
            }
            return null;
        }

        public bool CreaNuevoUsuario(clsUsuario_CRN objUsuario)
        {
            int registrosAfectados = TAUsuarios.NuevoUsuario(
                objUsuario.LoginName,
                objUsuario.Contrasenia,
                objUsuario.Apellidos,
                objUsuario.Nombres,
                objUsuario.Tipo);
            return registrosAfectados == 0 ? false : true;
        }

        public bool ModificaUsuario(clsUsuario_CRN objUsuario)
        {
            int registrosAfectados = TAUsuarios.ActualizaUsuario(                
                objUsuario.Contrasenia,
                objUsuario.Apellidos,
                objUsuario.Nombres,
                objUsuario.Tipo,
                objUsuario.LoginName);
            return registrosAfectados == 0 ? false : true;
        }

        public bool EliminaUsuario(clsUsuario_CRN objUsuario)
        {
            int registrosAfectados = TAUsuarios.EliminaUsuario(
                objUsuario.LoginName);
            return registrosAfectados == 0 ? false : true;
        }
    }
}
